Systems, methods, devices, and computer program products providing a brain-exercising game

ABSTRACT

Systems, methods, devices, and computer program products are provided for exercising the user&#39;s brain, and in particular the user&#39;s short-term memory. More particularly, a gaming application is provided that may be executed by the processor of an electronic device, such as a mobile terminal. The gaming application provides a game where the user gains an advantage in the game by using his or her short-term memory. The amount of information that the user must store in his or her short-term memory may be adjusted based on the user&#39;s performance in the game. A popular puzzle-like game involving the manipulation of a sequence of polyominoes may be improved upon to provide short-term memory testing or training.

FIELD OF EMBODIMENTS OF THE INVENTION

Embodiments of the invention relate generally to brain-exercising games.More particularly, embodiments of the present invention relate tosystems, methods, devices, and computer program products for providing apuzzle-like video game where aspects of the game provide incentives fora user to utilize short-term memory.

BACKGROUND OF EMBODIMENTS OF THE INVENTION

It is said that a person can store up to seven pieces of independentinformation, such as seven words, in short-term memory if a person isgiven a task to memorize independent pieces of information in a veryshort period of time. The ability of a person to store information inshort-term memory is generally reduced if the person is required toperform other tasks at the same time that the person is asked toremember the information. For example, a person asked to memorize wordsin a short period of time while performing another task may only havethe capacity to remember three or four words. This short-term memorycapacity varies based on the individual, and it is sometimes thoughtthat a person having a larger short-term memory capacity will be able tomake better decisions when solving certain problems. This may beparticularly true if the person has a good short-term memory whileperforming other rapid tasks.

Therefore, it may be useful to have a system directed towards exercising(e.g., training and/or testing) short-term memory capacity. It would beadvantageous if such a system causes a person to use short-term memorywhile performing other rapid tasks. It would also be advantageous ifsuch a system, particularly a system directed towards trainingshort-term memory, is enjoyable for the user so that the user desires touse the system often and for long periods of time.

BRIEF SUMMARY OF EMBODIMENTS OF THE INVENTION

Therefore, embodiments of the present invention provide systems,methods, devices, and computer program products for exercising (e.g.,training and/or testing) the user's brain, and in particular the user'sshort-term memory. More particularly, embodiments of the presentinvention provide machine code and/or signals that may be executed bythe processor of an electronic device, such as a mobile terminal. Themachine code and/or signals can represent many different applicationsfor exercising one's memory, such as games, training tasks, strategysimulation, etc. The gaming application provides a game where the useris rewarded in the game by correctly and accurately using his or hershort-term memory. In one embodiment, the amount of information that theuser must store in his or her short-term memory is adjusted based on theuser's performance in the game. In one embodiment, a popular puzzle-likegame involving the manipulation of a sequence of polyominoes is improvedupon to provide for exercising of the user's short-term memory. Apolyomino is a geometric shape that is constructed by placing a numberof identical squares in distinct locations in a plane and in such a waythat at least one edge of each square coincides with an edge of one ofthe other squares. A tetromino is a polyomino constructed of foursquares.

In one embodiment of the present invention, a computer program productis provided for providing a memory exercising application. The computerprogram product may include at least one computer-readable storagemedium having computer-readable program code portions stored therein.The computer-readable program code portions may include: a firstexecutable portion for introducing a current object, from a sequence ofobjects, in a gaming area of a display, wherein each object is one of aplurality of different object types; a second executable portion forproviding the user with an indication of a future object, wherein thefuture object is spaced apart in the sequence of objects by at least oneintermediate object after the current object; a third executable portionfor allowing a user a limited amount of time to utilize the currentobject, based at least partially on the object type of the currentobject; and a fourth executable portion for advancing the sequence afterthe current object is utilized or after the limited time expires, suchthat the object in the sequence immediately following the current objectbecomes the current object.

The second executable portion may be configured to provide the user withthe indication of the future object without concurrently displaying theobject type(s) for at least one intermediate object. The secondexecutable portion may be configured to provide the user with anindication of the object type of the future object. The secondexecutable portion may also be configured for providing the user with anindication of the number of objects between the current object and thefuture object. The third executable portion may be configured to provideincentives for the user to utilize the current object based at leastpartially on the object type(s) of at least one intermediate object.

The computer program product may further include an executable portionfor allowing the user to specify the number of objects between thecurrent object and the future object. The computer program product mayalso include an executable portion for automatically determining thenumber of objects between the current object and the future object basedat least partially on the use of the current object. The computerprogram product may also include an executable portion for automaticallydetermining the number of objects between the current object and thefuture object based at least partially on a period of time expiring.

The computer program product may include an executable portion forrewarding the user based on the use of the current object. The objectsmay be polyominoes and the object type may be a type of polyomino. Thepolyominoes may include tetrominoes. In one embodiment, the currentobject in the gaming area falls toward a side of the gaming area untilthe current object comes to rest at the side of the gaming area oradjacent to a portion of another object at rest. In such an embodiment,the third executable portion may be further configured to receive userinput and move the object based on the user input, the computer programproduct further comprising. An executable portion may also be includedfor rewarding the user when the user utilizes the current object tocomplete at least one row spanning the gaming area. Such an executableportion may also be configured for removing the at least one completedrow.

The computer program product may further include an executable portionfor outputting a score based at least partially on utilization of thecurrent object and for indicating that the score is representative ofthe user's short-term memory capacity. Another executable portion may befor randomly generating the sequence of objects.

In one embodiment, an executable portion is provided for hiding aportion of the gaming area displayed on the display. For example, wherethe objects are tetrominoes, each tetromino having four squares, andwhere the gaming area is comprised of a plurality of rows that span thegaming area, and the computer-readable program code portions may furtherinclude: an executable portion for rewarding the user when the userutilizes the current object to completely fill at least one of the rowswith squares of one or more tetrominoes, and an executable portion forhiding from view on the display an area of the gaming area that includesat least one row of the gaming area.

In one embodiment of the present invention a method is provided forexercising short-term memory in a user. The method may include:providing a sequence of objects, each object in the sequence being oneof a plurality of object types; introducing a current object, from thesequence of objects, in a gaming area of a display; displaying anindication, on the display, of a future object, wherein the futureobject is spaced apart in the sequence of objects by at least oneintermediate object after the current object; and allowing the user alimited time to enter user input immediately after the current object isintroduced into the gaming area.

In another embodiment of the present invention, an apparatus is providedhaving a display; a user input interface; and a processor operativelycoupled to the display and to the user input interface. The processormay be configured to: introduce a current object, from a sequence ofobjects, in a gaming area of the display, wherein each object is one ofa plurality of different object types; provide the user with anindication of a future object, wherein the future object is spaced apartin the sequence of objects by at least one intermediate object after thecurrent object; allow a user a limited amount of time to utilize thecurrent object by entering user input based at least partially on theobject type of the current object; and advance the sequence after thecurrent object is utilized or after the limited time expires, such thatthe object in the sequence immediately following the current objectbecomes the current object. In one embodiment, the system is embodied ina mobile terminal.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described the invention in general terms, reference will nowbe made to the accompanying drawings, which are not necessarily drawn toscale, and wherein:

FIG. 1 illustrates a block diagram of an electronic device that may beused to execute a gaming application, in accordance with embodiments ofthe present invention;

FIG. 2 is a flow chart that illustrates, in general terms, a processimplemented by a gaming application, in accordance with on embodiment ofthe present invention;

FIG. 3 illustrates a graphical user interface of the gaming applicationin accordance with one embodiment of the present invention;

FIG. 4 illustrates the possible different types of two-dimensionaltetrominoes that may be used in one embodiment of the present invention;and

FIG. 5 illustrates a graphical user interface of the gaming applicationin accordance with one another embodiment of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Embodiments of the present invention now will be described more fullyhereinafter with reference to the accompanying drawings, in which some,but not all embodiments of the inventions are shown. Indeed, theseinventions may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. Like numbers refer to like elements throughout.

Embodiments of the present invention are directed to providing a systemdirected to exercising (e.g., training and/or testing) aspects of auser's brain or thinking process. More particularly, embodiments of thepresent invention provide a gaming application that causes a user toutilize short-term memory while performing other rapid tasks. In thisway, some embodiments of the present invention may provide a system,method, device, and computer product that can be used to exercise theshort-term memory of the user.

In this regard, FIG. 1 illustrates a block diagram of an electronicdevice, and specifically a mobile terminal 10, that may be used toexecute gaming applications, in accordance with embodiments of thepresent invention. While several embodiments of the mobile terminal 10are illustrated and will be hereinafter described for purposes ofexample, other types of electronic devices, such as digital cameras,portable digital assistants (PDAs), pagers, mobile televisions,computers, laptop computers, gaming consoles, and other types of systemsthat can execute gaming applications, can readily employ embodiments ofthe present invention. Such devices may or may not be mobile.

The mobile terminal 10 includes a communication interface comprising anantenna 12 in operable communication with a transmitter 14 and areceiver 16. The mobile terminal 10 further includes a processor 20 orother processing element that provides signals to and receives signalsfrom the transmitter 14 and receiver 16, respectively. The signalsinclude signaling information in accordance with the air interfacestandard of the applicable cellular system, and also user speech and/oruser generated data. In this regard, the mobile terminal 10 is capableof operating with one or more air interface standards, communicationprotocols, modulation types, and access types. By way of illustration,the mobile terminal 10 is capable of operating in accordance with any ofa number of first, second and/or third-generation communicationprotocols or the like. For example, the mobile terminal 10 may becapable of operating in accordance with second-generation (2G) wirelesscommunication protocols IS-136 (TDMA), GSM, and IS-95 (CDMA) orthird-generation wireless communication protocol Wideband Code DivisionMultiple Access (WCDMA).

It is understood that the processor 20 includes circuitry required forimplementing audio and logic functions of the mobile terminal 10. Forexample, the processor 20 may be comprised of a digital signal processordevice, a microprocessor device, and various analog to digitalconverters, digital to analog converters, and other support circuits.Control and signal processing functions of the mobile terminal 10 areallocated between these devices according to their respectivecapabilities. The processor 20 thus may also include the functionalityto convolutionally encode and interleave message and data prior tomodulation and transmission. The processor 20 can additionally includean internal voice coder, and may include an internal data modem.Further, the processor 20 may include functionality to operate one ormore software programs, which may be stored in memory. For example, theprocessor 20 may be capable of operating a connectivity program, such asa conventional Web browser. The connectivity program may then allow themobile terminal 10 to transmit and receive Web content, such aslocation-based content, according to a Wireless Application Protocol(WAP), for example.

The mobile terminal 10 also comprises a user interface including anoutput device such as a conventional earphone or speaker 24, a ringer22, a microphone 26, a display 28, and a user input interface, all ofwhich are operatively coupled to the processor 20. The user inputinterface, which allows the mobile terminal 10 to receive data, mayinclude any of a number of devices allowing the mobile terminal 10 toreceive data, such as a keypad 30, a touch display (not shown) or otherinput device. In embodiments including the keypad 30, the keypad 30 mayinclude the conventional numeric (0-9) and related keys (#, *), andother keys used for operating the mobile terminal 10. Alternatively, thekeypad 30 may include a conventional QWERTY keypad. The mobile terminal10 further includes a battery 34, such as a vibrating battery pack, forpowering various circuits that are required to operate the mobileterminal 10, as well as optionally providing mechanical vibration as adetectable output.

In an exemplary embodiment, the mobile terminal 10 includes a camera 36in communication with the processor 20. The camera 36 may be any meansfor capturing an image for storage, display or transmission. Forexample, the camera 36 may include a digital camera capable of forming adigital image file from a captured image. As such, the camera 36includes all hardware, such as a lens or other optical device, andsoftware necessary for creating a digital image file from a capturedimage. Alternatively, the camera 36 may include only the hardware neededto view an image, while a memory device of the mobile terminal 10 storesinstructions for execution by the processor 20 in the form of softwarenecessary to create a digital image file from a captured image. In anexemplary embodiment, the camera 36 may further include a processingelement such as a co-processor which assists the processor 20 inprocessing image data and an encoder and/or decoder for compressingand/or decompressing image data. The encoder and/or decoder may encodeand/or decode according to a JPEG standard format.

The mobile terminal 10 may further include a user identity module (UIM)38. The UIM 38 is typically a memory device having a processor built in.The UIM 38 may include, for example, a subscriber identity module (SIM),a universal integrated circuit card (UICC), a universal subscriberidentity module (USIM), a removable user identity module (R-UIM), etc.The UIM 38 typically stores information elements related to a mobilesubscriber. In addition to the UIM 38, the mobile terminal 10 may beequipped with memory. For example, the mobile terminal 10 may includevolatile memory 40, such as volatile Random Access Memory (RAM)including a cache area for the temporary storage of data. The mobileterminal 10 may also include other non-volatile memory 42, which can beembedded and/or may be removable. The non-volatile memory 42 canadditionally or alternatively comprise an EEPROM, flash memory or thelike, such as that available from the SanDisk Corporation of Sunnyvale,Calif., or Lexar Media Inc. of Fremont, Calif. The memories can storeany of a number of pieces of information, and data, used by the mobileterminal 10 to implement the functions of the mobile terminal 10. Forexample, the memories can include an identifier, such as aninternational mobile equipment identification (IMEI) code, capable ofuniquely identifying the mobile terminal 10.

In one embodiment of the present invention, the mobile terminal 10comprises a gaming application that is executed by the processor 20 andprovides for a game to run on the mobile terminal 10. The gamingapplication may be stored in a memory of the mobile terminal 10. Thememory may be a removable memory, such as a game cartridge, that isremovably coupled to the mobile terminal 10, or other electronic device,so that the processor 20 of the mobile terminal 10 can execute theapplication stored in the removable memory. In general, when executed onthe mobile terminal 10, the game generates a graphical user interfacethat the processor 20 presents on the display 28. The user of the mobileterminal 10 interacts with the game by actuating a user input device,such as the keypad 30, in order to communicate information to theprocessor 20. The application is referred to herein as a “gaming”application since, in a one embodiment, the user finds the game executedby the gaming application enjoyable to use. However, in otherembodiments of the present invention the gaming application may bestrictly used for memory training, memory testing, or otherbrain-exercising purposes.

In general, the game of embodiments of the present application involvesproviding one or more objects on the display 28 and further involves theuser manipulating and/or performing actions with these one or moreobjects based at least partially on the attributes of the one or moreobjects. More particularly, the game comprises a plurality of objecttypes. Each object of a particular object type has an attribute or acombination of attributes that is different from the attributes orcombination of attributes of an object that is a member of a differentobject type.

Referring now to FIG. 2, a flow chart is provided that illustrates, ingeneral terms, a process 100 that is implemented by the processor 20executing the gaming application, in accordance with one embodiment ofthe invention. As represented by block 110, during game play, an objectof a sequence of objects is provided to the user one object at a time.At any given moment during the game, the object most recently introducedto the user is referred to herein as the “current object.” After thecurrent object is introduced to the user, the user has a limited amountof time to use the current object in accordance with the rules of thegame, as illustrated by block 130. Once the current object is usedand/or the limited amount of time expires, the next object in thesequence is provided to the user as a new current object, as representedby block 150. In general, the process of providing a current object,allowing the user to utilize the object during a limited amount of time,and providing a new current object is repeated until the game ends orotherwise stops. The objects provided to the user are provided in asequence such that, at any given moment in time, the current object isfollowed immediately in the sequence by a next object, which is followedby other future objects. In one embodiment, the sequence of objects israndomly generated by the processor 20, such that a random distributionof object types is provided to the user throughout the game.

In some embodiments of the present invention, the user is rewarded basedon what the user does with the current object during the limited amountof time, as represented by block 140. In general, different object typescan be used in different ways based on the attributes of the object. Theattributes of an object are determined by the object type. Often, theway in which the user utilizes the current object will affect how theuser will be able to utilize the next object in the sequence of objectsas well as other future objects in the sequence. Therefore, embodimentsof the game are configured such that, if the user knows the sequence offuture object types that will follow the current object, then the usermay be able to plan out how to best use the current object (in view ofthe future sequence of object types) in such a way as to maximize theuser's overall reward. In other words, a user who knows at least aportion of the sequence of object types that will follow the currentobject has an advantage over a user that does not know the sequence. Ingeneral, the greater the portion of the sequence that the user knows inadvance, the greater advantage the user has in the game, at least up tosome maximum sequence length that a human is capable of processing andeffectively using in the limited amount of time.

In order to provide an incentive for the user to make use of his or hershort-term memory, embodiments of the game provide the user with anindication of the object type of a future object in the sequence, asrepresented by block 120. For example, the game may provide anindication of the object type of a future object that is at least twoobjects after the current object in the sequence. The game may furtherbe configured to hide any indication of the object types of theobject(s) that are in the sequence between the current object and theindicated future object. In this way, if the user is to have theadvantage of knowing the sequence of objects in advance, then the useris required to hold the object type for at least one future object inhis or her short-term memory from the time that the future object isindicated until the time that the future object becomes the currentobject.

For example, suppose that, at a given moment in time, the sequencecomprises an order of objects such that the current object will beimmediately followed by object type A, which will be immediatelyfollowed by object type B, which will be immediately followed by objecttype C. In such a situation, one embodiment of the present inventionwould be configured such that the game would display to the user objecttype B as an indication of the object type of the future object that istwo objects after the current object in the current sequence. After thecurrent object is used, a new current object would be introduced that isan object type A. The next object in the sequence would then becomeobject type B, and object type B would no longer be displayed to theuser and instead would be hidden from view on the display. Instead, thefuture object that would now be two objects after the new current object(i.e., two objects after object type A) would be an object type C and,thus, object type C would be displayed to the user. Therefore, in thisexample, as the user plays the game, if the user is to have theadvantage of knowing the object type of the object that is toimmediately follow the current object, then the user must remember theobject type of the next object, which is hidden when it is theimmediately next object, but was earlier displayed to the user. The usermust do this while also trying to commit the currently displayed futureobject to memory and while making use of the current object.

In one embodiment of the present invention, the next object (i.e., theobject immediately following the current object) is hidden from theuser, but the object type for the future object located two objectsafter the current object in the sequence is displayed to the user. Inother embodiments, the future object that is located three objects afterthe current object in the sequence is displayed to the user, while thetwo objects between the current object and the displayed future objectare hidden from the user. In other embodiments, even more objects in thesequence are hidden between the current object and the displayed futureobject type. For example, since it is often said that a person can holdup to seven pieces of information in short-term memory at any giventime, then one embodiment of the present invention may provide the userwith an indication of the object type for the future object that islocated seven objects from the current object in the sequence, but hideall of the object types in between the current object and the displayedfuture object. In such an embodiment, the user must retain sixpreviously-displayed objects in memory while trying to commit a seventhobject to memory if the user is to continually know the sequence ofobjects scheduled to follow the current object.

In some embodiments of the present invention, the user may choose whichobjects in the future sequence to display and which objects to hide. Insome embodiments of the present invention, the game automaticallyadjusts how many future objects should be hidden between the currentobject and the displayed future object. For example, the game mayincrease the number of hidden objects between the current object and thedisplayed future object in order to increase the difficulty of the game.The game may be configured to automatically increase the difficulty ofthe game whenever the user reaches a certain performance goal orwhenever a predetermined period of time passes during game play.

Referring now to FIG. 3, an exemplary embodiment of the presentinvention is illustrated and descried herein below. In this regard, FIG.3 illustrates a graphical user interface 200 that may be provided on thedisplay 28 of the mobile terminal 10 when the processor 20 is executingthe gaming application, in accordance with one embodiment of the presentinvention. The graphical user interface 200 shown in FIG. 3 illustrateshow the graphical user interface may appear on the display 28 at onemoment in time during game play, in accordance with one embodiment ofthe present invention. The graphical user interface 200 comprises agaming area 210 and a future object viewing area 215. In the illustratedembodiment, the gaming area 210 is a generally rectangular areacomprising a top edge 211, a bottom edge 212, a left edge 213, and aright edge 214. The future object viewing area 215 is positioned to oneside of the gaming area 210. In other embodiments, the gaming area 210and the future object viewing area 215 may be shaped and configureddifferently, for example, the future object viewing area 215 may bepositioned over or within the gaming area 210.

In the illustrated embodiment, the objects in the game are allpolyominoes, and more particularly are all tetrominoes. As describedabove, a polyomino is a geometric shape that is constructed by placing anumber of identical squares in distinct locations in a plane and in sucha way that at least one edge of each square coincides with an edge ofone of the other squares. A tetromino is a polyomino constructed of foursquares. FIG. 4 illustrates the possible different types oftwo-dimensional tetrominoes 300 that may be used in the illustratedembodiment of the present invention. Each object in the illustratedembodiment of the game is a tetromino and each different object typerepresents a different type of tetromino, such as tetrominoes of thetypes 310-370 illustrated in FIG. 4.

During the operation of the game, a sequence of objects, such as currentobject 220, are introduced into the gaming area 210 one object at atime. At any given moment in time during the operation of the game, thecurrent object 220 is the most recent object to be introduced into thegaming area. In the illustrated embodiment, the current object 220 isintroduced proximate the top edge 211 of the gaming area 210. Thecurrent object 220 then “falls” towards the bottom edge 212 of thegaming area 210 at a generally constant rate. The current object 220continues to fall towards the bottom edge 212 until the object 220 comesinto contact with the bottom edge 212 of the gaming area 210 or withanother object in the stack of objects 230. When such contact is made,or shortly after such contact is made, the object 220 comes to rest inthe position and location that the object was in when the contact wasmade or very shortly thereafter.

While the object 220 falls towards the bottom edge 212, the user of themobile terminal 10 may actuate a user input device, such as one or morekeys on the keypad 30, in order to change the orientation of the currentobject 220 and/or move the current object 220 within the gaming area210. The user may be able to change the orientation of the currentobject 220 by rotating the current object 220 about a point of rotationtypically at or near the center of the current object 220. For example,actuation of a particular key on the keypad 30 may rotate the currentobject 220 about its center in the clockwise direction and in ninetydegree increments each time the key is actuated. Actuation of adifferent key on the keypad 30 may rotate the object 220 about itscenter in the counterclockwise direction and in ninety degree incrementseach time the key is actuated.

In general, the user can move the current object 220 in the gaming area210 by moving the object 220 laterally from side to side, e.g. towardsthe left edge 213 or towards the right edge 215. In some embodiments,the user may also increase the speed of the object's falling motiontoward the bottom edge 212 of the gaming area 210. The user may move theobject 220 using a user input interface of the mobile terminal 10, suchas by using a joystick, a directional key on the keypad 30, a pluralityof keys on the keypad 30, a touch screen, a touch pad, and the like.

The current object 220 continues to fall towards the bottom edge 212 ofthe gaming area 210 as the user changes the orientation of the objectand/or moves the current object 220 in the gaming area 210. Therefore,the user only has a limited amount of time to adjust the orientation andthe position of the current object 220 before the current object 220comes to rest at the bottom 212 of the gaming area or on the stack ofobjects 230. The goal of the illustrated embodiment of the game isgenerally to receive a high number of points by the end of the game orto reach some higher level by the end of the game. The game ends whenthe stack of objects 230 reaches the top edge 211 of the gaming area210. The user can reduce the stack of objects 230 and also receivepoints or other rewards by positioning the current object 220 such that,when the current object comes to rest, one or more squares that make upthe current object 220 combine with squares in the stack of objects 230to form complete rows 233 that span the width of the gaming area 210from one side 213 to the other side 214. When a row 233 of the gamingarea 210 is completely filled with squares of one or more objects, thesquares in the stack of objects 230 that form the complete row areremoved and the portion of the stack 230 located above the removed rowis shifted one row toward the bottom 212 of the gaming area 210. In oneembodiment of the game, the user receives extra points or other extrarewards if the user can complete two or more rows simultaneously usingonly one current object 220.

Once the current object 220 comes to rest on the bottom 212 of thegaming area 210 or on the stack of objects 230, the game is configuredsuch that a new object, and in particular the next object in thesequence, is introduced at or near the top edge 211 of the gaming area210 as a new current object. After this new current object is used,another object is introduced as the current object, and so on. Thisprocess continues until the game is ended or otherwise stopped. Ingeneral, the sequence of object types introduced into the gaming area israndomly generated by the processor. Therefore, each time a new currentobject 220 is introduced into the gaming area 210, the user mustconsider the object type of the current object 220 and then decide howto best orient and position the current object 220 in the stack 230 inorder to best achieve the goal of the user, which may be to receive thehighest amount of points by the end of the game. Since each object typerepresents a different tetromino, certain object types will fit into thestack 230 better than other objects types depending on the current formof the stack 230 and the object type. Furthermore, a current object 220coming to rest on the stack 230 becomes part of the stack 230 and,therefore, changes the stack 230. As a result, the placement of thecurrent object 220 will have an affect on the options available forpositioning future objects. Therefore, the user has an advantage if theuser can know the sequence of object types that will be follow thecurrent object 220.

Embodiments of the present invention provide such an advantage bydisplaying the object type of a future object 225 in advance ofintroducing the future object 225 into the gaming area 210. Embodimentsof the present invention, however, force a user to utilize his or hershort-term memory by displaying the object type for a future object 225that is at least two objects after the current object 220 in thesequence and by hiding the object type of the at least one object(s) inthe sequence between the current object 220 and the displayed futureobject 225.

In the embodiment illustrated in FIG. 3, an image of a future object 225is displayed in the future object viewing area 215. Text 250 may beincluded proximate to the future object viewing area 215 in order toindicate to the user how many objects the displayed future object 225 isfrom the current object 220 in the sequence. For example, in theexemplary graphical user interface shown in FIG. 3, the displayed futureobject 225 is indicated as being three objects from the current object220 in the sequence of objects. Thus, the user knows that after he orshe uses the current object and the next two immediately followingobjects, then the user will receive an object of the type shown in thefuture object viewing area 215, which in FIG. 3 is a straight tetromino(i.e., four squares positioned in a straight line). However, once thecurrent object 220 shown in FIG. 3 is used, the sequence shifts so thata new current object is introduced and a new future object is displayedin the future object viewing area 215 since a new object will be threeobjects from the new current object in the sequence. The object that waspreviously displayed in the future object viewing area becomes hiddenfrom view. For example, in the illustrated example, once the sequenceshifts, the user must remember that a straight tetromino is hidden fromview and is now located only two objects from the new current object.

Therefore, by displaying and then hiding a future object 225 in thisway, the user must hold the object type of the hidden future object inhis or her short-term memory from the time that the future object 225ceases to be displayed in the future object viewing area 215 until thetime that the future object becomes the current object 220 by beingintroduced into the gaming area 210. This may be challenging since theuser must remember at least one hidden future object while using thecurrent object 220 and while trying to commit a newly displayed futureobject to memory, all in what may be a very limited amount of time. Ifthe user can remember the sequence of the hidden objects, then the usercan position the current object 220 on the stack 230 based at leastpartially on the sequence of objects to follow the current object 220.

Since it is often said that a person can only retain up to seven piecesof information in short-term memory at any one time, then embodiments ofthe present invention may be configured such that the displayed futureobject 225 is at least seven objects in the sequence after the currentobject 220. However, other embodiments of the present invention may beconfigured to display future objects that are only four, five, or sixobjects from the current object since it is also sometimes believed thata person generally cannot hold seven pieces of information in short-termmemory while performing other rapid tasks at the same time.

In some embodiments, the user can adjust how many objects are hiddenbetween the current object 220 and the displayed future object 225 orexactly which future objects are to be displayed and which objects arenot. In one embodiment, the game is configured such that the number ofhidden objects between the current object 220 and the displayed futureobject 225 is automatically adjusted by the game during operation of thegame. The game may be configured to automatically adjust the numberbased on the user's performance or after certain predetermined timeperiods expire. Other characteristics of the game may also be adjustedby the user or automatically in order to adjust the level of play. Forexample, the speed of the falling motion of the current object may beincreased in order to adjust the difficulty of the game.

In one embodiment, the user is provided with a score and/or a level 255based on the user's performance. In some embodiments, this score orlevel may provide the user with an indication of the user's short-termmemory capacity or other cognitive ability or at least the game may beconfigured to claim that the score represents the user's short-termmemory capacity of other cognitive ability. The game may be configuredto compare the user's performance to the performance of otherindividuals. In one embodiment, the game is configured such that theuser's performance is compared to how a computer would have performedgiven the same amount of information about future sequence of objects.

Referring now to FIG. 5, another embodiment of the present invention isillustrated. More particularly FIG. 5 illustrates a graphical userinterface 400 similar to the one described earlier with reference toFIG. 3. As with FIG. 3, FIG. 5 illustrates one moment in time during theexecution of the game. FIG. 5, however, illustrates how, in oneembodiment of the present invention, one or more rows in the gaming area410 may be hidden by screening object 460. This embodiment also requiresthat the user utilize short-term memory by requiring that the user tryto remember the shape of the stack 430 hidden behind the screeningobject 460. The user must try to remember the shape of the stack 430behind the screening object 460 so that the user can determine how tobest utilize the current object 420. In the illustrated embodiment, thebottom two rows are hidden from the user's view. In other embodimentsone or more rows are hidden from view. The hidden rows may or may not bethe bottom most rows in the gaming area 410. The number of rows that arehidden may be user controlled or may be automatically controlled basedon the user's performance or on other predetermined conditions.

It should be appreciated that embodiments of the present invention mayrequire or at least provide incentives for a user to utilize his or hermemory or other specific mental process. In particular, embodiments ofthe present invention may provide incentives for the user to repeatedlyand rapidly utilize the user's short-term memory while simultaneouslyperforming other rapid tasks. Embodiments of the present invention mayrequire this of the user in a way that is enjoyable for the user. Assuch, embodiments of the present invention may provide the user or otherindividuals with a system, method, device, or computer program productfor exercising (e.g., training and/or testing) a user's short-termmemory or some other aspect of the user's cognitive ability. Otherembodiments of the present invention merely provide an enjoyable andchallenging video game.

The above described functions may be carried out in many ways. Forexample, any suitable means for carrying out each of the functionsdescribed above may be employed to carry out embodiments of theinvention. According to one aspect of the present invention, all or aportion of the system of the present invention generally operates undercontrol of a computer program product. The computer program product forperforming the various processes and operations of embodiments of thepresent invention includes a computer-readable storage medium, such as anon-volatile storage medium, and computer-readable program codeportions, such as a series of computer instructions, embodied in thecomputer-readable storage medium. For example, in one embodiment, theprocessor of the mobile terminal generally executes a gaming applicationin order to perform the various functions described above.

In this regard, FIG. 2 is a flowchart or block diagram of operationsperformed by methods, systems, devices, and computer program productsaccording to embodiments of the present invention. It will be understoodthat each block of a flowchart or each step of a described method can beimplemented by computer program instructions. These computer programinstructions may be loaded onto a computer or other programmableapparatus to produce a machine, such that the instructions which executeon the computer or other programmable apparatus create means forimplementing the functions specified in the described block(s) orstep(s). These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable apparatus to function in a particular manner, such that theinstructions stored in the computer-readable memory produce an articleof manufacture including instruction means which implement the functionspecified in the described block(s) or step(s). The computer programinstructions may also be loaded onto a computer or other programmableapparatus to cause a series of operational steps to be performed on thecomputer or other programmable apparatus to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide steps for implementingthe functions specified in the described block(s) or step(s).

It will also be understood that each block or step of a describedherein, and combinations of blocks or steps, can be implemented byspecial purpose hardware-based computer systems which perform thespecified functions or steps, or combinations of special purposehardware and computer instructions.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

1. A computer program product for providing a memory exercisingapplication, the computer program product comprising at least onecomputer-readable storage medium having computer-readable program codeportions stored therein, the computer-readable program code portionscomprising: a first executable portion for introducing a current object,from a sequence of objects, in a gaming area of a display, wherein eachobject is one of a plurality of different object types; a secondexecutable portion for providing the user with an indication of a futureobject, wherein the future object is spaced apart in the sequence ofobjects by at least one intermediate object after the current object; athird executable portion for allowing a user a limited amount of time toutilize the current object, based at least partially on the object typeof the current object; and a fourth executable portion for advancing thesequence after the current object is utilized or after the limited timeexpires, such that the object in the sequence immediately following thecurrent object becomes the current object.
 2. The computer programproduct of claim 1, wherein the second executable portion is furtherconfigured to provide the user with the indication of the future objectwithout concurrently displaying the object type(s) for at least oneintermediate object.
 3. The computer program product of claim 1, whereinthe third executable portion is further configured to provide incentivesfor the user to utilize the current object based at least partially onthe object type(s) of at least one intermediate object.
 4. The computerprogram product of claim 1, wherein the second executable portion isfurther configured to provide the user with an indication of the objecttype of the future object.
 5. The computer program product of claim 1,wherein the second executable portion is further configured forproviding the user with an indication of the number of objects betweenthe current object and the future object.
 6. The computer programproduct of claim 1, further comprising: a fifth executable portion forallowing the user to specify the number of objects between the currentobject and the future object.
 7. The computer program product of claim1, further comprising: a fifth executable portion for automaticallydetermining the number of objects between the current object and thefuture object based at least partially on the use of the current object.8. The computer program product of claim 1, further comprising: a fifthexecutable portion for automatically determining the number of objectsbetween the current object and the future object based at leastpartially on a period of time expiring.
 9. The computer program productof claim 1, further comprising: a fifth executable portion for rewardingthe user based on the use of the current object.
 10. The computerprogram product of claim 1, wherein the objects comprise polyominoes andwherein the object type comprises a type of polyomino.
 11. The computerprogram product of claim 10, wherein the polyominoes comprisetetrominoes, wherein the current object in the gaming area falls towarda side of the gaming area until the current object comes to rest at theside of the gaming area or adjacent to a portion of another object atrest, and wherein the third executable portion is further configured toreceive user input and move the object based on the user input, thecomputer program product further comprising: a fifth executable portionfor rewarding the user when the user utilizes the current object tocomplete at least one row spanning the gaming area.
 12. The computerprogram product of claim 11, wherein the fifth executable portion isfurther configured for removing the at least one completed row.
 13. Thecomputer program product of claim 1, further comprising: a fifthexecutable portion for outputting a score based at least partially onutilization of the current object and for indicating that the score isrepresentative of the user's short-term memory capacity.
 14. Thecomputer program product of claim 1, further comprising: a fifthexecutable portion for randomly generating the sequence of objects. 15.The computer program product of claim 1, further comprising: a fifthexecutable portion for hiding a portion of the gaming area displayed onthe display.
 16. The computer program product of claim 1, wherein theobjects comprise tetrominoes, each tetromino comprised of four squares,wherein the gaming area is comprised of a plurality of rows that spanthe gaming area, and wherein the computer-readable program code portionsfurther comprise: a fifth executable portion for rewarding the user whenthe user utilizes the current object to completely fill at least one ofthe rows with squares of one or more tetrominoes; and a sixth executableportion for hiding from view on the display an area of the gaming areathat includes at least one row of the gaming area.
 17. A method ofexercising short-term memory in a user, the method comprising: providinga sequence of objects, each object in the sequence being one of aplurality of object types; introducing a current object, from thesequence of objects, in a gaming area of a display; displaying anindication, on the display, of a future object, wherein the futureobject is spaced apart in the sequence of objects by at least oneintermediate object after the current object; and allowing the user alimited time to enter user input immediately after the current object isintroduced into the gaming area.
 18. The method of claim 17 whereindisplaying the indication of the object type of the future object occurswithout concurrently displaying the object type(s) for the at least oneintermediate object.
 19. The method of claim 17, further comprising:providing the user with incentives to enter user input based at leastpartially on the object type of the current object and the objecttype(s) of the at least one intermediate object.
 20. The method of claim17, wherein displaying the indication of the future object comprisesdisplaying an indication of the object type of the future object. 21.The method of claim 17, further comprising: choosing the future objectin the sequence.
 22. The method of claim 17, further comprising:repeating the steps of introducing, displaying, and allowing for eachobject in at least a portion of the sequence.
 23. The method of claim17, wherein the providing of a sequence of objects comprises generatinga random sequence of objects having a random sequence of object types.24. The method of claim 17, further comprising: providing an indicationof the user's performance based on the user input in response to thesequence of objects introduced into the gaming area.
 25. The method ofclaim 24, wherein the displaying of an indication of a future object inthe sequence comprises displaying an image of an object having the sameobject type as the future object.
 26. The method of claim 17, whereinthe objects comprise polyominoes.
 27. The method of claim 17, furthercomprising: rewarding the user based on user input entered in responseto the sequence of objects introduced into the gaming area.
 28. Themethod of claim 27, wherein the user input that is more likely toachieve higher rewards is at least partially based on the object type ofthe object introduced into the gaming area.
 29. An apparatus comprising:a display; a user input interface; and a processor operatively coupledto the display and to the user input interface; wherein the processor isconfigured to introduce a current object, from a sequence of objects, ina gaming area of the display, wherein each object is one of a pluralityof different object types; wherein the processor is configured toprovide the user with an indication of a future object, wherein thefuture object is spaced apart in the sequence of objects by at least oneintermediate object after the current object; wherein the processor isconfigured to allow a user a limited amount of time to utilize thecurrent object by entering user input based at least partially on theobject type of the current object; and wherein the processor isconfigured to advance the sequence after the current object is utilizedor after the limited time expires, such that the object in the sequenceimmediately following the current object becomes the current object. 30.The apparatus of claim 29, wherein the processor is further configuredto provide the user with the indication of the future object withoutconcurrently displaying the object type(s) for at least one intermediateobject.
 31. The apparatus of claim 29, wherein the processor is furtherconfigured to provide incentives for the user to utilize the currentobject based at least partially on the object type(s) of at least oneintermediate object.
 32. The apparatus of claim 29, wherein theprocessor is further configured to provide the user with an indicationof the future object by displaying an indication of the object type ofthe future object.